# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/7/19 0019 22:09
@Author : 测试开发工程师
@File : 1. docker.py
@Software: PyCharm
============================
"""

"""
docker 历史： 在仓库下载镜像，使用 docker run 命令启动
    docker 起源于2013年。docker 是一个开源的应用容器引擎，基于 Go 语言开发，
    docker 可以让开发者打包他们的应用以及依赖包到一个 轻量级，可移植的容器中，然后发布到任何流行的系统。

docker 优点：
    docker 可以用来快速交付应用。加快打包时间，加快测试，加快发布，缩短开发及运行代码之间的周期
    复杂环境管理，应用隔离：不同软件运行环境兼容依赖问题，开发环境/测试环境/线上环境保持一致  - 容器编排中台：管理大规模的环境
    轻量级： 对于系统内核来说，一个 docker 只是一个进程，一个系统可以运行上千个容器

docker 与 虚拟机 的区别：
    容器与容器之间只是 进程的隔离，而虚拟机是完全的 资源隔离
    虚拟机的启动可能需要分钟级别，Docker 启动是秒级或者更短
    容器使用宿主机主操作系统的内核，而虚拟机使用 完全独立的内核
  
docker 架构：
    client: docker bulid (构建容器 )/ docker pull（下载容器）/ docker run（运行容器）
    docker host: docker daemon（从Registry 仓库 拉取镜像后，在 docker daemon 上运行生成 Containers 容器） 
                -- 本机 client 通过 socket 连接 docker host，远程使用 restfulApi 连接 docker host。
    Registry : 镜像仓库（软件和系统）
 
概念
    docker 镜像 ： docker images, 每一个镜像都可能依赖一个或多个下层的镜像组成的另一个镜像，AUFS文件系统
    docker 仓库 (公开/私有)： docker Registry, 集中存放镜像的地方
    docker 容器 ： docker Containers，镜像运行的进程
"""
